import axios from "axios"

import router from "../router"

import Elementui from "element-ui"

axios.defaults.baseURL = process.env.NODE_ENV === "development" ? "/api" : "http://www.chst.vip"

axios.defaults.withCredentials = true  //允许请求携带认证

//创建请求拦截器，可以给每个请求都携带上想传递的内容
axios.interceptors.request.use(config => {
    //登录&注册不需要携带token
    if (config.url == "/users/login") {
        return config
    } else {
        let token = localStorage.getItem("stu_token")
        config.headers["Authorization"] = token
        return config
    }
    //config的值是每个请求的对象
    // console.log(config);
})

//响应拦截
axios.interceptors.response.use(config=>{
    console.log(config);
    let {data}=config
    //在当前的api中，1004表示token校验失败，10022表示session到期
    //提示错误并将页面跳转到登录页面
    if(data.code=="1004"||data.code=="10022"){
        Elementui.Message.error("登录过期")
        router.push("/login")
    }
    return config
})

axios.create({
    timeout: 4000
})

export default axios